from nacos import NacosClient

from utils.logger_config import logger

# Nacos 服务器地址和端口
NACOS_SERVER = "192.168.3.220"
NACOS_PORT = 8848
# 服务名（自定义，用于 Nacos 标识你的服务）
SERVICE_NAME = "rongmei-media-service-zdl"
# 本地服务的 IP 和端口（当前服务的地址，需确保 Nacos 可访问）
LOCAL_IP = "192.168.5.22"  # 或实际 IP（如容器 IP、服务器 IP）
LOCAL_PORT = 5555  # 本地服务端口


def register_to_nacos():
    # 初始化 Nacos 客户端（支持配置命名空间、认证等）
    nacos_client = NacosClient(
        server_addresses=f"{NACOS_SERVER}:{NACOS_PORT}",
        namespace="public",  # 命名空间，默认是 "public"
        # 如果 Nacos 开启认证（如用户名密码），添加以下参数：
        # username="nacos",
        # password="nacos"
    )

    # 注册服务
    nacos_client.add_naming_instance(
        service_name=SERVICE_NAME,
        ip=LOCAL_IP,
        port=LOCAL_PORT,
        weight=1.0,  # 负载均衡权重
        enable=True,
        healthy=True,
        metadata={},  # 自定义元数据（如环境、版本等）
    )
    logger.info(f"服务 {SERVICE_NAME} 已注册到 Nacos")


if __name__ == "__main__":
    register_to_nacos()
